// bool, Obj This, Obj other

Hero this;
Building bld;
Settlement sett;

this = This.AsHero();
if(!.IsValid()) return false;

bld = other.AsBuilding();
if(!bld.IsValid()) return false;

if(!.IsEnemy(bld)) return false;
sett = bld.settlement;
if(!sett.IsIndependent()) return false;
if(!sett.IsOutpost()) 
	if(!sett.IsTTent())
		return false;

if(.HasItem("irage_battle")) return false;
if(.HasItem("irage_battle_stand")) return false;
if(.command == "retreat_notai") return false;
if(.command == "retreat_bld_notai") return false;
if(.command == "great_charge") return false;

return true;
